package com.caldremch.demo

/**
 * Created by Administrator on 2017/10/31.
 * 数组demo
 */

fun main(args: Array<String>) {

    //数组的创建 1.使用arrayOf(), 另一种是使用工厂函数
    //[1,2,3]
    val a = arrayOf(1, 2, 3);

    //[0,2,4]
    //这里i指代的是index 1
    val b = Array(3, { i -> (i * 2) })

    //读取数组内容
    println(a[0])
    println(b[1])

    //三个引号支持多行字符串
    var text = """
        这里是多行
        这里是多行
        这里是多行
        """
    print(text)

    //String可以通过trimMargin来删除多余的空白
    var text1 = """
        这里是多行
        这里是多行
        这里是多行
        """.trimMargin()
    print(text1)
    var x = 469;
    var validNumbers = arrayOf(4, 5, 56);

    //when 将它的参数和所有的分支条件顺序比较，直到某个分支满足条件。
    when (x) {
        1, 2 -> print("x is 1 or 2")
        in validNumbers -> print("sss")
        !in 45..78 -> print("....")
        else -> print("none of the above")
    }

    print(hasPrefix("presfixIIII"))


    val items  = setOf("apple", "banana", "kiwi")

    when{
        "orange" in items -> println("juicy")
        "apple" in items -> println("apple is fine too")
    }

}

fun hasPrefix(x: Any) = when (x) {
    is String -> x.startsWith("prefix")
    else -> false
}

//when 也可以用来取代 if-else if链
//when {
//    x.isOdd() -> print("x is odd")
//    x.isEven() -> print("x is even")
//    else -> print("x is funny")
//}